<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>
Bugzilla::Install::Requirements</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" title="style" type="text/css" href="../.././../../../style.css" media="all" >

</head>
  <body id="pod">
<p class="backlinktop"><b><a name="___top" href="../../index.html" accesskey="1" title="All Documents">&lt;&lt;</a></b></p>
<h1>Bugzilla::Install::Requirements</h1>
<div class='indexgroup'>
<ul   class='indexList indexList1'>
  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
  <li class='indexItem indexItem1'><a href='#CONSTANTS'>CONSTANTS</a>
  <li class='indexItem indexItem1'><a href='#SUBROUTINES'>SUBROUTINES</a>
</ul>
</div>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="NAME"
>NAME</a></h1>

<p>Bugzilla::Install::Requirements - Functions and variables dealing with Bugzilla&#39;s perl-module requirements.</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="DESCRIPTION"
>DESCRIPTION</a></h1>

<p>This module is used primarily by <code  class="code">checksetup.pl</code> to determine whether or not all of Bugzilla&#39;s prerequisites are installed.
(That is,
all the perl modules it requires.)</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="CONSTANTS"
>CONSTANTS</a></h1>

<dl>
<dt><a name="REQUIRED_MODULES"
><code  class="code">REQUIRED_MODULES</code></a></dt>

<dd>
<p>An arrayref of hashrefs that describes the perl modules required by Bugzilla.
The hashes have three keys:</p>

<dl>
<dt><a name="package_-_The_name_of_the_Perl_package_that_you&#39;d_find_on_CPAN_for_this_requirement."
><code  class="code">package</code> - The name of the Perl package that you&#39;d find on CPAN for this requirement.</a></dt>

<dd>
<dt><a name="module_-_The_name_of_a_module_that_can_be_passed_to_the_install_command_in_CPAN.pm_to_install_this_module."
><code  class="code">module</code> - The name of a module that can be passed to the <code  class="code">install</code> command in <code  class="code">CPAN.pm</code> to install this module.</a></dt>

<dd>
<dt><a name="version_-_The_version_of_this_module_that_we_require,_or_0_if_any_version_is_acceptable."
><code  class="code">version</code> - The version of this module that we require,
or <code  class="code">0</code> if any version is acceptable.</a></dt>
</dl>

<dt><a name="OPTIONAL_MODULES"
><code  class="code">OPTIONAL_MODULES</code></a></dt>

<dd>
<p>An arrayref of hashrefs that describes the perl modules that add additional features to Bugzilla if installed.
Its hashes have all the fields of <a href="#REQUIRED_MODULES" class="podlinkpod"
>&#34;REQUIRED_MODULES&#34;</a>,
plus a <code  class="code">feature</code> item--an arrayref of strings that describe what features require this module.</p>

<dt><a name="FEATURE_FILES"
><code  class="code">FEATURE_FILES</code></a></dt>

<dd>
<p>A hashref that describes what files should only be compiled if a certain feature is enabled.
The feature is the key,
and the values are arrayrefs of file names (which are passed to <code  class="code">glob</code>,
so shell patterns work).</p>
</dd>
</dl>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="SUBROUTINES"
>SUBROUTINES</a></h1>

<dl>
<dt><a name="check_requirements"
><code  class="code">check_requirements</code></a></dt>

<dd>
<dl>
<dt><a name="Description"
><b>Description</b></a></dt>

<dd>
<p>This checks what optional or required perl modules are installed,
like <code  class="code">checksetup.pl</code> does.</p>

<dt><a name="Params"
><b>Params</b></a></dt>

<dd>
<dl>
<dt><a 
><code  class="code">$output</code> - <code  class="code">true</code> if you want the function to print out information about what it&#39;s doing,
and the versions of everything installed.</a></dt>
</dl>

<dt><a name="Returns"
><b>Returns</b></a></dt>

<dd>
<p>A hashref containing these values:</p>

<dl>
<dt><a name="pass_-_Whether_or_not_we_have_all_the_mandatory_requirements."
><code  class="code">pass</code> - Whether or not we have all the mandatory requirements.</a></dt>

<dd>
<dt><a 
><code  class="code">missing</code> - An arrayref containing any required modules that are not installed or that are not up-to-date.
Each item in the array is a hashref in the format of items from <a href="#REQUIRED_MODULES" class="podlinkpod"
>&#34;REQUIRED_MODULES&#34;</a>.</a></dt>

<dd>
<dt><a name="optional_-_The_same_as_missing,_but_for_optional_modules."
><code  class="code">optional</code> - The same as <code  class="code">missing</code>,
but for optional modules.</a></dt>

<dd>
<dt><a name="have_one_dbd_-_True_if_at_least_one_DBD::_module_is_installed."
><code  class="code">have_one_dbd</code> - True if at least one <code  class="code">DBD::</code> module is installed.</a></dt>

<dd>
<dt><a name="any_missing_-_True_if_there_are_any_missing_modules,_even_optional_modules."
><code  class="code">any_missing</code> - True if there are any missing modules,
even optional modules.</a></dt>
</dl>
</dd>
</dl>

<dt><a name="check_graphviz($output)"
><code  class="code">check_graphviz($output)</code></a></dt>

<dd>
<p>Description: Checks if the graphviz binary specified in the <code  class="code">webdotbase</code> parameter is a valid binary,
or a valid URL.</p>

<p>Params: <code  class="code">$output</code> - <code  class="code">$true</code> if you want the function to print out information about what it&#39;s doing.</p>

<p>Returns: <code  class="code">1</code> if the check was successful,
<code  class="code">0</code> otherwise.</p>

<dt><a name="have_vers($module,_$output)"
><code  class="code">have_vers($module,
$output)</code></a></dt>

<dd>
<pre  class="code"> Description: Tells you whether or not you have the appropriate
              version of the module requested. It also prints
              out a message to the user explaining the check
              and the result.

 Params:      C&#60;$module&#62; - A hashref, in the format of an item from 
                           L&#60;/REQUIRED_MODULES&#62;.
              C&#60;$output&#62; - Set to true if you want this function to
                           print information to STDOUT about what it&#39;s
                           doing.

 Returns:   C&#60;1&#62; if you have the module installed and you have the
            appropriate version. C&#60;0&#62; otherwise.</pre>

<dt><a name="install_command($module)"
><code  class="code">install_command($module)</code></a></dt>

<dd>
<pre  class="code"> Description: Prints out the appropriate command to install the
              module specified, depending on whether you&#39;re
              on Windows or Linux.

 Params:      C&#60;$module&#62; - A hashref, in the format of an item from
                           L&#60;/REQUIRED_MODULES&#62;.

 Returns:     nothing</pre>

<dt><a name="map_files_to_features"
><code  class="code">map_files_to_features</code></a></dt>

<dd>
<p>Returns a hashref where file names are the keys and the value is the feature that must be enabled in order to compile that file.</p>
</dd>
</dl>
<p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents">&lt;&lt;</a></b></p>

<!-- end doc -->

</body></html>
